package com.yxw.yxnet_cd_center.customer_service.service;

import com.yxw.yxnet_cd_center.common.dto.PageVO;
import com.yxw.yxnet_cd_center.customer_service.dto.DataGroupDTO;
import com.yxw.yxnet_cd_center.customer_service.dto.DataGroupQueryDTO;
import com.yxw.yxnet_cd_center.customer_service.dto.DataGroupTagDTO;
import com.yxw.yxnet_cd_center.customer_service.vo.DataGroupVO;
import com.yxw.yxnet_cd_center.customer_service.vo.TagVO;

import java.util.List;

/**
 * 大数据分组Service接口
 *
 * @author xiexuxin
 * @date 2023-09-25
 */
public interface IDataGroupService {

    /**
     * 添加标签
     * @param tagDTO
     * @return
     */
    void addTag(DataGroupTagDTO tagDTO);

    /**
     * 添加客户数据
     * @param dataGroupDTO
     */
    void addDataGroup(DataGroupDTO dataGroupDTO);

    /**
     * 删除标签
     * @param id
     */
    void deleteTag(Long id);

    /**
     * 查询标签列表
     * @return
     */
    List<TagVO> tagList();

    /**
     * 大数据分组列表条件查询
     * @param dataGroupQueryDTO
     * @return
     */
    PageVO<DataGroupVO> getDataGroupList(DataGroupQueryDTO dataGroupQueryDTO);

    /**
     * 根据标签id查询对应客户
     * @param tagId
     * @return
     */
    PageVO<DataGroupVO> getDataGroupByTag(Long tagId);

    /**
     * 查询大数据分组列表
     * @return
     */
    List<DataGroupVO> dataGroupList();
}
